import { Router } from 'express';
import userController from '../controllers/UserController.js';
import { protect, restrictTo } from '../middlewares/auth.js';
import db from '../models/index.js';

const { User } = db;
const router = Router();

// 保护所有路由，需要登录
router.use(protect);

// 获取当前用户资料
router.get('/me', userController.getProfile);

// 更新当前用户资料
router.patch('/me', userController.updateProfile);

// 以下路由仅限管理员访问
router.use(restrictTo(User.ROLES.ADMIN));

// 获取所有用户
router.get('/', userController.getAllUsers);

// 获取单个用户
router.get('/:id', userController.getUser);

// 更新用户信息
router.patch('/:id', userController.updateUser);

// 删除用户（软删除）
router.delete('/:id', userController.deleteUser);

export default router;
